package com.itbour.com.page;

import java.util.ArrayList;
import java.util.List;

/**
 * 页面对象
 * 
 * @author founder
 * 
 */
public class Pagination {

    private int pageSize = 12; // 每页显示的记录数,默认是12条
    private long totalCount; // 所有数据总的记录数
    private long page;// 当前页
    private List data = new ArrayList(); // 分页数据
    private String sort = "asc"; // 升序或是降序排练 "asc","desc"
    private int order;// 排序的列，这里通过int来展现
    private String requestURL;// 请求URL
    private String params;// chen_zhenyu添加的，用于传递查询的参数

    /**
     * 构造函数
     */
    public Pagination() {

    }

    /**
     * 构造函数
     * 
     * @param page
     *            页码
     * @param totalCount
     *            总记录数
     */
    public Pagination(long page, long totalCount) {
        super();
        this.totalCount = totalCount;
        this.page = page;
    }

    /**
     * 构造函数
     * 
     * @param page
     *            页码
     * @param pageSize
     *            每页容量
     * @param totalCount
     *            总记录数
     */
    public Pagination(long page, int pageSize, long totalCount) {
        super();
        this.pageSize = pageSize;
        this.totalCount = totalCount;
        this.page = page;
    }

    /**
     * 得到总页数
     * 
     * @return 总页数
     */
    public long getTotalPage() {
        return (this.totalCount + this.pageSize - 1) / this.pageSize;
    }

    /**
     * 得到每页容量
     * 
     * @return 每页容量
     */
    public int getPageSize() {
        return pageSize;
    }

    /**
     * 设定每页容量
     * 
     * @param pageSize
     *            每页容量
     */
    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }

    /**
     * 得到总记录数
     * 
     * @return 总记录数
     */
    public long getTotalCount() {
        return totalCount;
    }

    /**
     * 设定总记录数
     * 
     * @param totalCount
     *            总记录数
     */
    public void setTotalCount(long totalCount) {
        this.totalCount = totalCount;
    }

    /**
     * 得到页数
     * 
     * @return 页数
     */
    public long getPage() {
        return page;
    }

    /**
     * 设定页数
     * 
     * @param page
     *            页数
     */
    public void setPage(long page) {
        this.page = page;
    }

    /**
     * 得到记录
     * 
     * @return 记录
     */
    public List getData() {
        return data;
    }

    /**
     * 设定记录
     * 
     * @param data
     *            记录
     */
    public void setData(List data) {
        this.data = data;
    }

    /**
     * 得到排序方案
     * 
     * @return 排序方案
     */
    public String getSort() {
        return sort;
    }

    /**
     * 设定排序方案
     * 
     * @param sort
     *            排序方案
     */
    public void setSort(String sort) {
        this.sort = sort;
    }

    /**
     * 取得排序的列
     * 
     * @return 排序的列
     */
    public int getOrder() {
        return order;
    }

    /**
     * 设定排序的列
     * 
     * @param order
     *            排序的列
     */
    public void setOrder(int order) {
        this.order = order;
    }

    /**
     * 得到请求URL
     * 
     * @return 请求URL
     */
    public String getRequestURL() {
        return requestURL;
    }

    /**
     * 设定请求URL
     * 
     * @param requestURL
     *            请求URL
     */
    public void setRequestURL(String requestURL) {
        this.requestURL = requestURL;
    }

    /**
     * 得到参数
     * 
     * @return 参数
     */
    public String getParams() {
        return params;
    }

    /**
     * 设定参数
     * 
     * @param params
     *            参数
     */
    public void setParams(String params) {
        this.params = params;
    }
}
